要寫出好的Code,優秀的架構必不可少
而Android經過10年以上的發展
過程中其他的領域向是網頁端也有很多變化
架構也有很多的演進
這篇主要聊 MVC 和 MVVM
MVP和MVI因為筆者不怎麼熟悉就只會稍微帶過
剛開始的Android架構就是MVC,那什麼是MCV呢?
M:Model,數據層(SQLite、網路...)
V:View,視圖層(XML)
C:Controller,控制層(Activity)
舉個例子圖解:點擊+1後畫面數字加一
優點:
缺點:
MVVM和MVI我會一起講
因為MVVM和MVI本質上非常類似,核心都是數據驅動界面
所以可以把MVI理解成MVVM的子級,一種特殊規範的MVVM
又或是說,透過規範,MVVM是能實現MVI的 (個人理解,如有錯誤煩請指證
那主要會以MVVM介紹為主
M:Model,數據層
V:View,視圖層
VM:ViewModel,視圖模型
那也是舉剛剛的例子圖解:點擊+1後畫面數字加一
參考資料:
https://developer.android.com/jetpack/guide
https://juejin.cn/post/7048980213811642382
https://juejin.cn/post/7043716896767606798#heading-6
https://blog.51cto.com/u_15719342/5648244